SQL NULL Functions

IFNULL(), ISNULL(), COALESCE(), மற்றும் NVL() போன்ற NULL செயல்பாடுகளைக் கற்றுக்கொள்ளுங்கள்

SQL NULL செயல்பாடுகள்

பின்வரும் "Products" அட்டவணையைப் பாருங்கள்:

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23 NULL
3 Gorgonzola 15.67 9 20

"UnitsOnOrder" நெடுவரிசை விருப்பமானது என்றும், NULL மதிப்புகளைக் கொண்டிருக்கலாம் என்றும் வைத்துக்கொள்வோம்.

பின்வரும் SELECT அறிக்கையைப் பாருங்கள்:

SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;

மேலே உள்ள எடுத்துக்காட்டில், "UnitsOnOrder" மதிப்புகள் ஏதேனும் NULL ஆக இருந்தால், முடிவு NULL ஆக இருக்கும்.

தீர்வுகள்

MySQL

MySQL IFNULL() செயல்பாடு ஒரு வெளிப்பாடு NULL ஆக இருந்தால் மாற்று மதிப்பைத் திருப்பித் தரும்:

SELECT ProductName, UnitPrice * 
(UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;

அல்லது COALESCE() செயல்பாட்டைப் பயன்படுத்தலாம்:

SELECT ProductName, UnitPrice * 
(UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;

SQL Server

SQL Server ISNULL() செயல்பாடு ஒரு வெளிப்பாடு NULL ஆக இருந்தால் மாற்று மதிப்பைத் திருப்பித் தரும்:

SELECT ProductName, UnitPrice * 
(UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products;

அல்லது COALESCE() செயல்பாட்டைப் பயன்படுத்தலாம்:

SELECT ProductName, UnitPrice * 
(UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;

MS Access

MS Access IsNull() செயல்பாடு வெளிப்பாடு NULL மதிப்பாக இருந்தால் TRUE (-1) திருப்பித் தரும், இல்லையெனில் FALSE (0):

SELECT ProductName, UnitPrice * 
(UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;

Oracle

Oracle NVL() செயல்பாடு அதே முடிவை அடைகிறது:

SELECT ProductName, UnitPrice * 
(UnitsInStock + NVL(UnitsOnOrder, 0))
FROM Products;

அல்லது COALESCE() செயல்பாட்டைப் பயன்படுத்தலாம்:

SELECT ProductName, UnitPrice * 
(UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;

செயல்பாட்டு ஒப்பீடு

IFNULL()

தரவுத்தளம்: MySQL

பயன்: முதல் வாதம் NULL ஆக இருந்தால் இரண்டாவது வாதத்தைத் திருப்பித் தரும்

IFNULL(expression, alternative)

ISNULL()

தரவுத்தளம்: SQL Server

பயன்: வெளிப்பாடு NULL ஆக இருந்தால் குறிப்பிட்ட மதிப்பைத் திருப்பித் தரும்

ISNULL(expression, replacement)

NVL()

தரவுத்தளம்: Oracle

பயன்: முதல் வாதம் NULL ஆக இருந்தால் இரண்டாவது வாதத்தைத் திருப்பித் தரும்

NVL(expression, default_value)

COALESCE()

தரவுத்தளம்: அனைத்து முக்கிய தரவுத்தளங்களும்

பயன்: பட்டியலில் முதல் NULL அல்லாத மதிப்பைத் திருப்பித் தரும்

COALESCE(val1, val2, val3, ...)

💡 உதவிக்குறிப்பு:

COALESCE() செயல்பாடு அனைத்து முக்கிய தரவுத்தளங்களிலும் கிடைக்கும் மற்றும் பல மாற்று மதிப்புகளைக் கையாள முடியும் என்பதால் இது மிகவும் பரவலாகப் பயன்படுத்தப்படுகிறது.

நடைமுறை எடுத்துக்காட்டுகள்

கணிதக் கணக்கீடுகள்

NULL மதிப்புகளைக் கொண்ட கணிதச் செயல்பாடுகள்

-- NULL ஐ 0 ஆக மாற்றுதல்
SELECT ProductName, 
       Price * ISNULL(Quantity, 0) AS Total
FROM Products;

வாடிக்கையாளர் தரவு

காலி தொடர்புத் தகவல்களைக் கையாளுதல்

-- தொலைபேசி இல்லாத வாடிக்கையாளர்களுக்கு 
-- 'No Phone' காட்டுதல்
SELECT CustomerName,
       COALESCE(Phone, 'No Phone') AS Contact
FROM Customers;

அறிக்கை உருவாக்கம்

அறிக்கைகளில் NULL மதிப்புகளை மாற்றீடு செய்தல்

-- விற்பனைத் தரவுகளில் NULL ஐ 
-- 'Not Available' ஆகக் காட்டுதல்
SELECT ProductName,
       COALESCE(SalesData, 'Not Available') AS Sales
FROM Reports;

பயிற்சி

SQL Server-ல், NULL மதிப்புகளை குறிப்பிட்ட மாற்றீட்டுடன் மாற்ற எந்த செயல்பாட்டைப் பயன்படுத்தலாம்?

NVL()
✗ தவறு! NVL() Oracle தரவுத்தளத்தில் பயன்படுத்தப்படுகிறது
ISNULL()
✓ சரி! SQL Server-ல் ISNULL() செயல்பாடு NULL மதிப்புகளை குறிப்பிட்ட மாற்றீட்டுடன் மாற்ற பயன்படுகிறது
IFNULL()
✗ தவறு! IFNULL() MySQL தரவுத்தளத்தில் பயன்படுத்தப்படுகிறது
COALESCE()
✗ தவறு! COALESCE() பல தரவுத்தளங்களில் பயன்படுத்தப்படுகிறது, ஆனால் SQL Server-ல் ISNULL() முதன்மையானது